The present invention relates to, for example, an external storage, such as a disk device, and a data recovery method for the external storage, as well as a program to control the external storage.
In a business application program (database system) for handling a relatively large amount of data, data is saved in a disk array apparatus which is formed separately from a host computer. Then, a database system of the host computer accesses data on the disk array apparatus to perform various data operations. The disk array apparatus is constituted by arranging plural disk devices in an array and is adapted to operate according to a writing instruction, a reading instruction, or the like from the host computer.
Here, in the case in which a failure occurs during operation of the database system due to, for example, an unexpected loss of power, a mistake in operation by an operator, a malfunction of a hardware circuit or other programs, there, is a need to the recover contents of the database to a state that was in existence before the occurrence of the failure. In addition, other than the case of a failure, an operator may wish to date back a data operation to a desired paint in time.
As a first conventional technique, in an ordinary database system, the database system itself on a host computer writes journal data (log data) to a predetermined disk device of a disk array apparatus separately from the actual data. Therefore, in the ordinary database system, the database system itself reads out the journal data from the disk device on the basis of backup data, which has been acquired in advance, and it sequentially reflects the journal data on the backup data. Consequently, the database system on the host computer can restore the database to a desired point in time to the extent that the journal data remains.
In a second conventional technique, the contents of a first disk device are saved in a disk device for backup at a predetermined period, and, at the same time, journal data is saved in a disk device for a journal. In the case in which a failure occurs in the first disk device, a virtual first disk device is generated in a second disk device on the basis of the backup data and the journal data, and data access to the first disk device is internally switched to the virtual first disk device. Then, when recovery of the first disk device is completed, the contents of the virtual first disk device are transferred to the first disk device (e.g., see JP-A-6-110618).
In the first conventional technique, the database system itself on the host computer manages the journal data and is capable of restoring data to an arbitrary point. However, since the database system itself performs a data restoration operation, computer resources (an arithmetic operation unit, a memory, etc.) of the host computer are used for data restoration processing, which results in a decrease in the processing efficiency of the original processing and other business processing during the restoration work. In addition, although the database system performs management of the journal data, if a storage disk for the journal data is fully occupied, the data cannot be restored unless backup data is secured. Therefore, the database system is required to even perform capacity management or the like for the disk for journal data, which leads to an increase in the processing load. Moreover, in the case in which generation management of data is performed, since backup data for plural generations is created, the processing burden is further increased.
In the second conventional technique, data restoration work can be performed without suspending the processing which is being executed by switching the access to the virtual disk device. However, data can be recovered only to an immediately preceding state, and the operator cannot restore the data to a desired arbitrary point.